package com.aplicacaoexemplweb.logica;

import com.aplicacaoexemploweb.dao.AlunoDao;
import com.aplicacaoexemploweb.dao.AlunoDaoImpl;
import com.aplicacaoexemploweb.exceptions.AlunoException;
import com.aplicacaoexemploweb.pojo.Aluno;

/**
 *
 * @author Pc
 */
public class AlunoLogicaImpl implements AlunoLogica {

    private AlunoDao dao = new AlunoDaoImpl();

    @Override
    public Aluno salvar(String nome, String email, String senha, String curso) throws AlunoException {
        if(nome.isEmpty()) {
            throw new AlunoException("Um nome precisa ser informado");
        }
        if(email.isEmpty()) {
            throw new AlunoException("Um email precisa ser informado");
        }
        if(senha.isEmpty()) {
            throw new AlunoException("Uma senha precisa ser informado");
        }
        if (dao.buscaPorEmail(email) != null) {
            throw new AlunoException("Email já cadastrado");
        }
        Aluno aluno = new Aluno();
        aluno.setEmail(email);
        aluno.setNome(nome);
        aluno.setSenha(senha);
        Aluno.Curso tipo;
        if (curso.equalsIgnoreCase("si")) {
            tipo = Aluno.Curso.SI;
        } else {
            tipo = Aluno.Curso.ECONOMIA;
        }
        aluno.setCurso(tipo);
        aluno = dao.add(aluno);
        return aluno;
    }
}